package com.avic.modules.equipment.service.dto;

import com.avic.annotation.Query;
import lombok.Data;

import java.sql.Timestamp;
import java.util.List;
import java.util.Set;

/**
 * @author zhangzikang
 * @date 2022-08-14
 */
@Data
public class EquipmentMaintainQueryCriteria {

    // id
    @Query(propName = "id", type = Query.Type.EQUAL)
    private String id;

    // 包含id
    @Query(propName = "id", type = Query.Type.IN)
    private Set<String> idAll;

    // 工单
    @Query(propName = "workOrder", type = Query.Type.INNER_LIKE)
    private String workOrder;

    // 等级
    @Query(propName = "grade", type = Query.Type.EQUAL)
    private String grade;

    // 频次
    @Query(propName = "frequency", type = Query.Type.INNER_LIKE)
    private String frequency;

    // 内容
    @Query(propName = "content", type = Query.Type.INNER_LIKE)
    private String content;

    // 维护时间
    @Query(propName = "maintainTime", type = Query.Type.BETWEEN)
    private List<Timestamp> maintainTime;

    // 设备拍照时间
    @Query(propName = "photographTime", type = Query.Type.BETWEEN)
    private List<Timestamp> photographTime;

    // 站位
    private String station;

    // 设备编号
    private String equipNumber;

    // 设备编号
    @Query(propName = "equipNumber", type = Query.Type.IN)
    private Set<String> equipNumber1;

    // 设备名称
    @Query(propName = "equipName", type = Query.Type.INNER_LIKE)
    private String equipName;

    // 维护人id
    @Query(propName = "maintainerUserId", type = Query.Type.EQUAL)
    private Long maintainerUserId;

    // 维护人名称
    @Query(propName = "maintainerName", type = Query.Type.INNER_LIKE)
    private String maintainerName;

    // 联系方式
    @Query(propName = "pattern", type = Query.Type.INNER_LIKE)
    private String pattern;

    // 接受集合传参
    private String aggregate;

    // 创建时间
    @Query(propName = "createUserTime", type = Query.Type.BETWEEN)
    private List<Timestamp> createUserTime;
}
